package cn.stylefeng.guns.modular.business.service;

import cn.stylefeng.guns.modular.business.dto.DeviceAddDto;
import cn.stylefeng.guns.modular.business.dto.DeviceQuery;
import cn.stylefeng.guns.modular.business.dto.DeviceUpdateDto;
import cn.stylefeng.guns.modular.business.entity.Device;
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;

import java.util.Map;

public interface DeviceService {

    /**
     * 分页查询设备
     *
     * @param deviceDto 查询参数
     * @return 查询分页结果
     * @author mjg
     * @date 2020/3/25 14:00
     */
    PageResult<Device> findPage(DeviceQuery deviceDto);

    /**
     * 查询设备详情
     * @param id
     * @return
     */
    Device detail(Integer id);


    /**
     * 编辑设备
     * @param deviceUpdateDto
     */
    void edit(DeviceUpdateDto deviceUpdateDto);

    /**
     * 添加设备
     * @param deviceAddDto
     */
    void add(DeviceAddDto deviceAddDto);

    /**
     * 统计设备
     * @return
     */
    Map<String, Object> statistics();
}
